﻿namespace CoHubServerCore.Configurator;

public class Demo
{
    public bool Enable { get; set; } = false;
    public string Account { get; set; } = "COHUB-DEMO";
    public string Password { get; set; } = "CoWorkStudio2023";
}

public class Core
{
    public string Directory { get; set; } = DefaultPath.RootDirectory;
}

public class Network
{
    public string DomainName { get; set; } = "localhost";
    public int Port { get; set; } = 2023;
    public long MaximumConcurrencyNumber { get; set; } = 1000;
    public int HeartbeatFreq { get; set; } = 50;
}

public class DataBase
{
    public string Directory { get; set; } = DefaultPath.DatabaseDirectoryName;
    public string Name { get; set; } = DefaultPath.DatabaseName;
    public string Password { get; set; } = string.Empty;
    public bool CreateIfNotExist { get; set; } = true;
}

public class Ftp
{
    public string Directory { get; set; } = DefaultPath.FtpDirectoryName;
    public string Account { get; set; } = "COHUB-FTP";
    public string Password { get; set; } = "CoWorkStudio2023";
}

public partial class Config
{
    public Core Core { get; set; } = new Core();
    public Network Network { get; set; } = new Network();
    public DataBase DataBase { get; set; } = new DataBase();
    public Ftp Ftp { get; set; } = new Ftp();
    public Demo Demo { get; set; } = new Demo();
}